package org.fnzn.service;

import java.util.List;
import java.util.Map;
import org.fnzn.bean.LrdRole;
import org.fnzn.core.Result;
import org.fnzn.tree.AuthorityMenuTree;
import org.fnzn.tree.MenuTree;

public interface LrdRoleService {
	
	public Result queryList(Map<String, Object> map);
	
	public Result InsertLrdRole(LrdRole lrdRole);
	public Result updateLrdRole(LrdRole lrdRole);
	
	public Result deleteRole(String roleCd);
	/**
     * 变更群组关联的菜单
     * @param roleCd
     * @param menuTrees
     */
	public void modifyAuthorityMenu(String roleCd, List<AuthorityMenuTree> menuTrees,String corpCd);
	/**
     * 分配资源权限
     * @param roleCd
     * @param menuId
     * @param elementId
     */
	public void modifyAuthorityElement(String roleCd,int menuId,int elementId,String corpCd);
	/**
     * 移除资源权限
     * @param roleCd
     * @param menuId
     * @param elementId
     */
	public void removeAuthorityElement(String roleCd, int menuId, int elementId);
	/**
     * 获取角色关联的菜单
     * @param groupId
     * @return
     */
	public List<AuthorityMenuTree> getAuthorityMenu(String groupId);
	
	public List<Integer> getAuthorityElement(String groupId);
	
	List<LrdRole> selectAll();

	/**
	 * 更新用户权限
	 * @param roleCd
	 * @param menuTrees
	 * @return
	 */
	public Result updateAuthorityMenu(String roleCd,List<MenuTree> menuTrees);

    /**
     *  根据当前登录用户id获取到所属角色id和角色名称
     */
    public Result getRole(String userId);
}
